package com.skivingcloud.report.service.impl;

import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.skivingcloud.report.entity.ReportLuckysheetReportCell;
import com.skivingcloud.report.mapper.ReportLuckysheetReportCellMapper;
import com.skivingcloud.report.service.ReportLuckysheetReportCellService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import com.skivingcloud.common.utils.PageParameter;

/**
 * 查询报表模板表格数据和配置信息表 服务层实现。
 *
 * @author skivingcloud
 * @since 2024-11-07
 */
@Service
public class ReportLuckysheetReportCellServiceImpl extends ServiceImpl<ReportLuckysheetReportCellMapper, ReportLuckysheetReportCell> implements ReportLuckysheetReportCellService {

    /**
     * 分页查询查询报表模板表格数据和配置信息表
     *
     * @param parameter 查询参数
     * @return 分页查询结果
     */
    @Override
    public Page<ReportLuckysheetReportCell> queryByPage(PageParameter<ReportLuckysheetReportCell> parameter){
        Page<ReportLuckysheetReportCell> page = new Page<>(parameter.getPage(), parameter.getPageSize());
        QueryWrapper queryWrapper = QueryWrapper.create();
        if (parameter.getParam() != null) {
            //查询条件
            if (StringUtils.isNoneBlank(parameter.getParam().getId())) {
                queryWrapper.and(ReportLuckysheetReportCell::getId).like(parameter.getParam().getId());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getTplId())) {
                queryWrapper.and(ReportLuckysheetReportCell::getTplId).like(parameter.getParam().getTplId());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getSheetId())) {
                queryWrapper.and(ReportLuckysheetReportCell::getSheetId).like(parameter.getParam().getSheetId());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getDatasetName())) {
                queryWrapper.and(ReportLuckysheetReportCell::getDatasetName).like(parameter.getParam().getDatasetName());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getCellExtend())) {
                queryWrapper.and(ReportLuckysheetReportCell::getCellExtend).like(parameter.getParam().getCellExtend());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getCellValue())) {
                queryWrapper.and(ReportLuckysheetReportCell::getCellValue).like(parameter.getParam().getCellValue());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getCellData())) {
                queryWrapper.and(ReportLuckysheetReportCell::getCellData).like(parameter.getParam().getCellData());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getCellValueType())) {
                queryWrapper.and(ReportLuckysheetReportCell::getCellValueType).like(parameter.getParam().getCellValueType());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getAggregateType())) {
                queryWrapper.and(ReportLuckysheetReportCell::getAggregateType).like(parameter.getParam().getAggregateType());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getGroupProperty())) {
                queryWrapper.and(ReportLuckysheetReportCell::getGroupProperty).like(parameter.getParam().getGroupProperty());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getIsLink())) {
                queryWrapper.and(ReportLuckysheetReportCell::getIsLink).like(parameter.getParam().getIsLink());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getLinkConfig())) {
                queryWrapper.and(ReportLuckysheetReportCell::getLinkConfig).like(parameter.getParam().getLinkConfig());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getIsMerge())) {
                queryWrapper.and(ReportLuckysheetReportCell::getIsMerge).like(parameter.getParam().getIsMerge());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getCellFunction())) {
                queryWrapper.and(ReportLuckysheetReportCell::getCellFunction).like(parameter.getParam().getCellFunction());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getGroupSummaryDependencyR())) {
                queryWrapper.and(ReportLuckysheetReportCell::getGroupSummaryDependencyR).like(parameter.getParam().getGroupSummaryDependencyR());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getGroupSummaryDependencyC())) {
                queryWrapper.and(ReportLuckysheetReportCell::getGroupSummaryDependencyC).like(parameter.getParam().getGroupSummaryDependencyC());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getDataFrom())) {
                queryWrapper.and(ReportLuckysheetReportCell::getDataFrom).like(parameter.getParam().getDataFrom());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getIsGroupMerge())) {
                queryWrapper.and(ReportLuckysheetReportCell::getIsGroupMerge).like(parameter.getParam().getIsGroupMerge());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getIsFunction())) {
                queryWrapper.and(ReportLuckysheetReportCell::getIsFunction).like(parameter.getParam().getIsFunction());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getWarning())) {
                queryWrapper.and(ReportLuckysheetReportCell::getWarning).like(parameter.getParam().getWarning());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getWarningRules())) {
                queryWrapper.and(ReportLuckysheetReportCell::getWarningRules).like(parameter.getParam().getWarningRules());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getWarningColor())) {
                queryWrapper.and(ReportLuckysheetReportCell::getWarningColor).like(parameter.getParam().getWarningColor());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getThreshold())) {
                queryWrapper.and(ReportLuckysheetReportCell::getThreshold).like(parameter.getParam().getThreshold());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getWarningContent())) {
                queryWrapper.and(ReportLuckysheetReportCell::getWarningContent).like(parameter.getParam().getWarningContent());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getIsRelied())) {
                queryWrapper.and(ReportLuckysheetReportCell::getIsRelied).like(parameter.getParam().getIsRelied());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getRelyCells())) {
                queryWrapper.and(ReportLuckysheetReportCell::getRelyCells).like(parameter.getParam().getRelyCells());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getIsDict())) {
                queryWrapper.and(ReportLuckysheetReportCell::getIsDict).like(parameter.getParam().getIsDict());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getDatasourceId())) {
                queryWrapper.and(ReportLuckysheetReportCell::getDatasourceId).like(parameter.getParam().getDatasourceId());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getDictType())) {
                queryWrapper.and(ReportLuckysheetReportCell::getDictType).like(parameter.getParam().getDictType());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getAlternateFormat())) {
                queryWrapper.and(ReportLuckysheetReportCell::getAlternateFormat).like(parameter.getParam().getAlternateFormat());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getAlternateFormatBcOdd())) {
                queryWrapper.and(ReportLuckysheetReportCell::getAlternateFormatBcOdd).like(parameter.getParam().getAlternateFormatBcOdd());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getAlternateFormatBcEven())) {
                queryWrapper.and(ReportLuckysheetReportCell::getAlternateFormatBcEven).like(parameter.getParam().getAlternateFormatBcEven());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getAlternateFormatFcOdd())) {
                queryWrapper.and(ReportLuckysheetReportCell::getAlternateFormatFcOdd).like(parameter.getParam().getAlternateFormatFcOdd());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getAlternateFormatFcEven())) {
                queryWrapper.and(ReportLuckysheetReportCell::getAlternateFormatFcEven).like(parameter.getParam().getAlternateFormatFcEven());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getIsConditions())) {
                queryWrapper.and(ReportLuckysheetReportCell::getIsConditions).like(parameter.getParam().getIsConditions());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getCellConditions())) {
                queryWrapper.and(ReportLuckysheetReportCell::getCellConditions).like(parameter.getParam().getCellConditions());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getFilterType())) {
                queryWrapper.and(ReportLuckysheetReportCell::getFilterType).like(parameter.getParam().getFilterType());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getIsHiddenConditions())) {
                queryWrapper.and(ReportLuckysheetReportCell::getIsHiddenConditions).like(parameter.getParam().getIsHiddenConditions());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getHiddenType())) {
                queryWrapper.and(ReportLuckysheetReportCell::getHiddenType).like(parameter.getParam().getHiddenType());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getHiddenConditions())) {
                queryWrapper.and(ReportLuckysheetReportCell::getHiddenConditions).like(parameter.getParam().getHiddenConditions());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getIsChartAttr())) {
                queryWrapper.and(ReportLuckysheetReportCell::getIsChartAttr).like(parameter.getParam().getIsChartAttr());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getChartIds())) {
                queryWrapper.and(ReportLuckysheetReportCell::getChartIds).like(parameter.getParam().getChartIds());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getSeriesName())) {
                queryWrapper.and(ReportLuckysheetReportCell::getSeriesName).like(parameter.getParam().getSeriesName());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getIsChartCell())) {
                queryWrapper.and(ReportLuckysheetReportCell::getIsChartCell).like(parameter.getParam().getIsChartCell());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getIsDataVerification())) {
                queryWrapper.and(ReportLuckysheetReportCell::getIsDataVerification).like(parameter.getParam().getIsDataVerification());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getDataVerification())) {
                queryWrapper.and(ReportLuckysheetReportCell::getDataVerification).like(parameter.getParam().getDataVerification());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getIsDrill())) {
                queryWrapper.and(ReportLuckysheetReportCell::getIsDrill).like(parameter.getParam().getIsDrill());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getDrillId())) {
                queryWrapper.and(ReportLuckysheetReportCell::getDrillId).like(parameter.getParam().getDrillId());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getDrillAttrs())) {
                queryWrapper.and(ReportLuckysheetReportCell::getDrillAttrs).like(parameter.getParam().getDrillAttrs());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getUnitTransfer())) {
                queryWrapper.and(ReportLuckysheetReportCell::getUnitTransfer).like(parameter.getParam().getUnitTransfer());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getTransferType())) {
                queryWrapper.and(ReportLuckysheetReportCell::getTransferType).like(parameter.getParam().getTransferType());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getMultiple())) {
                queryWrapper.and(ReportLuckysheetReportCell::getMultiple).like(parameter.getParam().getMultiple());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getCreator())) {
                queryWrapper.and(ReportLuckysheetReportCell::getCreator).like(parameter.getParam().getCreator());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getUpdater())) {
                queryWrapper.and(ReportLuckysheetReportCell::getUpdater).like(parameter.getParam().getUpdater());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getDelFlag())) {
                queryWrapper.and(ReportLuckysheetReportCell::getDelFlag).like(parameter.getParam().getDelFlag());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getIsSubtotal())) {
                queryWrapper.and(ReportLuckysheetReportCell::getIsSubtotal).like(parameter.getParam().getIsSubtotal());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getSubtotalCells())) {
                queryWrapper.and(ReportLuckysheetReportCell::getSubtotalCells).like(parameter.getParam().getSubtotalCells());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getIsSubtotalCalc())) {
                queryWrapper.and(ReportLuckysheetReportCell::getIsSubtotalCalc).like(parameter.getParam().getIsSubtotalCalc());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getSubtotalCalc())) {
                queryWrapper.and(ReportLuckysheetReportCell::getSubtotalCalc).like(parameter.getParam().getSubtotalCalc());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getSubtotalAttrs())) {
                queryWrapper.and(ReportLuckysheetReportCell::getSubtotalAttrs).like(parameter.getParam().getSubtotalAttrs());
            }
        }
        return this.page(page, queryWrapper);
    }
}
